package com.gxar.quick.ar.server.base.model.works.vo.response;

import com.alibaba.fastjson2.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.gxar.quick.ar.server.base.model.works.vo.BaseWorksVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import springfox.documentation.annotations.ApiIgnore;

import java.util.Date;

/**
 * @author linsy
 * @version 1.0
 * @created 2023/11/3 16:04
 */
@Data
@ApiModel("作品列表响应模型")
@EqualsAndHashCode(callSuper = true)
public class WorksListResponse extends BaseWorksVO {

    @ApiModelProperty("作品来源.share-分享")
    @JSONField(name = "source")
    @JsonProperty("source")
    private String source;

    @ApiModelProperty("创建时间")
    @JSONField(name = "created_at")
    @JsonProperty("created_at")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdAt;

    @ApiModelProperty("作品标签")
    @JSONField(name = "tag")
    @JsonProperty("tag")
    private String tag;

    @ApiModelProperty("坑位id")
    @JSONField(name = "slot_id")
    @JsonProperty("slot_id")
    private String slotId;

    @ApiModelProperty("是否删除。0-否，1-是")
    @JSONField(name = "deleted")
    @JsonProperty("deleted")
    private Integer deleted;

    @ApiModelProperty("状态。1-已上线，-1-已下线")
    @JSONField(name = "status")
    @JsonProperty("status")
    private Integer status;

    @ApiModelProperty("展示物列表")
    @JSONField(name = "shows")
    @JsonProperty("shows")
    private String content;

    @ApiModelProperty(value = "用户id", hidden = true)
    @JSONField(name = "user_id")
    @JsonProperty("user_id")
    private Long userId;

    @ApiModelProperty("该作品是否水印。0-否，1-是")
    @JSONField(name = "watermark")
    @JsonProperty("watermark")
    private Integer watermark;

    @ApiModelProperty("是否他人赠送。0-否，1-转赠，2-赠送")
    @JSONField(name = "gift")
    @JsonProperty("gift")
    private Integer gift;

}
